# Author:Xiao yang
# 时间：1014-week07

# 购物车程序项目：20min
# 型序项目：(20分钟)
# 要求；1、运行程序后，让用户输入支付宝余额 然后打印我们的商品列表给用户。
# 2、让用户输入商品编号进行商品的购买。
# 3、用户选择商晶后.检查用户的余额是否够，若够则直接扣款、不够则提醒用户。
# 4、用户可以随时退出购买，退出打印用户已购买的商品和支付宝的余额。


goods = [('1001','python课本',128),('1002','蓝光眼镜',250),('1003','保暖卫衣',99),('1006','护发精油',140),('1009','格子衬衫',199)]
shopping_car = []
print("---购物车程序项目---")
money = int(input("请输入您的支付宝余额:"))
info = '''——————————goods list————————
%s
%s
%s
%s
%s
'''%(goods[0],goods[1],goods[2],goods[3],goods[4])
print(info)

while True:
    # 循环遍历商品列表，将商品信息按照一定格式输出
    # 一定格式："可购物商品编号：%s ，商品序号：%s ，名称：%s ，价格：%s "%(i,goods[i][0],goods[i][1],goods[i][2])
    print("------- 请选择编号 欢迎选购 -------")
    for i in range(len(goods)): # range会根据商品列表的长度变化而变化
        print("可购物商品编号：%s ，商品序号：%s ，名称：%s ，价格：%s "%(i,goods[i][0],goods[i][1],goods[i][2]))

    # 2.让用户输入商品编号进行商品的购买
    # ①. 用户输入的内容是否符合规范（用户买的东西有没有）？

    # 思考：用户除了输入数值外，有没有可能输入不是数值
    print()

    num = input("请正确输入可购买商品的编号，若想退出购物 则输入END：")

    if num.isdigit():  # isdigit 判断字符串里面的内容是否是数值
        num = int(num)
        if num > len(goods):
            #   1. 如果没有该商品，返回没有
            print("您选择的商品不存在，请重新选择。")

        else:
            #   2. 如果有 判断金额是否够 : 用户金额 money  商品的金额 goods[num][2]
            if money > goods[num][2]:
                # 用户余额足够 1. 增加该商品到用户购物车 2.扣除余额
                shopping_car.append(goods[num])
                money = money - goods[num][2]
                print("【%s】已经加入您的购物车，您的【账户余额】还有：%s 元"%(goods[num][1],money))
            else:
                print("您的余额不足，请更换支付方式")
    elif num == "END":
        # 用户退出购买
        print("您的购物车：",shopping_car)
        print("您的余额还有：",money)
        break
    else:
        print("格式错误！请输入正确的商品编号！")
        print()
# 总结错误：
#  if money > goods[num][2]:中出现问题
# '>' not supported between instances of 'str' and 'int'

# input()返回的数据类型是str，不能直接和整数进行比较，必须先把str换成整数，使用int()方法
#          因此，将input变量转换为int型即可
# 所以 检查 把 money = input("请输入您的支付宝余额:") 转化成了 money = int(input("请输入您的支付宝余额:"))

# 输出结果：
# ---购物车程序项目---
# 请输入您的支付宝余额:1000
# ——————————goods list————————
# ('1001', 'python课本', 128)
# ('1002', '蓝光眼镜', 250)
# ('1003', '保暖卫衣', 99)
# ('1006', '护发精油', 140)
# ('1009', '格子衬衫', 199)
#
# ------- 请选择编号 欢迎选购 -------
# 可购物商品编号：0 ，商品序号：1001 ，名称：python课本 ，价格：128
# 可购物商品编号：1 ，商品序号：1002 ，名称：蓝光眼镜 ，价格：250
# 可购物商品编号：2 ，商品序号：1003 ，名称：保暖卫衣 ，价格：99
# 可购物商品编号：3 ，商品序号：1006 ，名称：护发精油 ，价格：140
# 可购物商品编号：4 ，商品序号：1009 ，名称：格子衬衫 ，价格：199
#
# 请正确输入可购买商品的编号，若想退出购物 则输入END：1
# 【蓝光眼镜】已经加入您的购物车，您的【账户余额】还有：750 元
# ------- 请选择编号 欢迎选购 -------
# 可购物商品编号：0 ，商品序号：1001 ，名称：python课本 ，价格：128
# 可购物商品编号：1 ，商品序号：1002 ，名称：蓝光眼镜 ，价格：250
# 可购物商品编号：2 ，商品序号：1003 ，名称：保暖卫衣 ，价格：99
# 可购物商品编号：3 ，商品序号：1006 ，名称：护发精油 ，价格：140
# 可购物商品编号：4 ，商品序号：1009 ，名称：格子衬衫 ，价格：199
#
# 请正确输入可购买商品的编号，若想退出购物 则输入END：2
# 【保暖卫衣】已经加入您的购物车，您的【账户余额】还有：651 元
# ------- 请选择编号 欢迎选购 -------
# 可购物商品编号：0 ，商品序号：1001 ，名称：python课本 ，价格：128
# 可购物商品编号：1 ，商品序号：1002 ，名称：蓝光眼镜 ，价格：250
# 可购物商品编号：2 ，商品序号：1003 ，名称：保暖卫衣 ，价格：99
# 可购物商品编号：3 ，商品序号：1006 ，名称：护发精油 ，价格：140
# 可购物商品编号：4 ，商品序号：1009 ，名称：格子衬衫 ，价格：199
#
# 请正确输入可购买商品的编号，若想退出购物 则输入END：3
# 【护发精油】已经加入您的购物车，您的【账户余额】还有：511 元
# ------- 请选择编号 欢迎选购 -------
# 可购物商品编号：0 ，商品序号：1001 ，名称：python课本 ，价格：128
# 可购物商品编号：1 ，商品序号：1002 ，名称：蓝光眼镜 ，价格：250
# 可购物商品编号：2 ，商品序号：1003 ，名称：保暖卫衣 ，价格：99
# 可购物商品编号：3 ，商品序号：1006 ，名称：护发精油 ，价格：140
# 可购物商品编号：4 ，商品序号：1009 ，名称：格子衬衫 ，价格：199
#
# 请正确输入可购买商品的编号，若想退出购物 则输入END：4
# 【格子衬衫】已经加入您的购物车，您的【账户余额】还有：312 元
# ------- 请选择编号 欢迎选购 -------
# 可购物商品编号：0 ，商品序号：1001 ，名称：python课本 ，价格：128
# 可购物商品编号：1 ，商品序号：1002 ，名称：蓝光眼镜 ，价格：250
# 可购物商品编号：2 ，商品序号：1003 ，名称：保暖卫衣 ，价格：99
# 可购物商品编号：3 ，商品序号：1006 ，名称：护发精油 ，价格：140
# 可购物商品编号：4 ，商品序号：1009 ，名称：格子衬衫 ，价格：199
#
# 请正确输入可购买商品的编号，若想退出购物 则输入END：
# 格式错误！请输入正确的商品编号！
#
# ------- 请选择编号 欢迎选购 -------
# 可购物商品编号：0 ，商品序号：1001 ，名称：python课本 ，价格：128
# 可购物商品编号：1 ，商品序号：1002 ，名称：蓝光眼镜 ，价格：250
# 可购物商品编号：2 ，商品序号：1003 ，名称：保暖卫衣 ，价格：99
# 可购物商品编号：3 ，商品序号：1006 ，名称：护发精油 ，价格：140
# 可购物商品编号：4 ，商品序号：1009 ，名称：格子衬衫 ，价格：199
#
# 请正确输入可购买商品的编号，若想退出购物 则输入END：ENG
# 格式错误！请输入正确的商品编号！
#
# ------- 请选择编号 欢迎选购 -------
# 可购物商品编号：0 ，商品序号：1001 ，名称：python课本 ，价格：128
# 可购物商品编号：1 ，商品序号：1002 ，名称：蓝光眼镜 ，价格：250
# 可购物商品编号：2 ，商品序号：1003 ，名称：保暖卫衣 ，价格：99
# 可购物商品编号：3 ，商品序号：1006 ，名称：护发精油 ，价格：140
# 可购物商品编号：4 ，商品序号：1009 ，名称：格子衬衫 ，价格：199
#
# 请正确输入可购买商品的编号，若想退出购物 则输入END：END
# 您的购物车： [('1002', '蓝光眼镜', 250), ('1003', '保暖卫衣', 99), ('1006', '护发精油', 140), ('1009', '格子衬衫', 199)]
# 您的余额还有： 312


















